
#pragma once

interface IBreakpoint : public IUnknown
{
    STDMETHOD(SetIP)(DWORD dwIP) PURE;
    STDMETHOD_(DWORD,GetIP)() PURE;
    
    STDMETHOD(SetLineIndex)(DWORD dwLine) PURE;
    STDMETHOD_(DWORD,GetLineIndex)() PURE;

    STDMETHOD(SetActive)(BOOL bActive) PURE;
    STDMETHOD_(BOOL,GetActive)() PURE;

    STDMETHOD(Hit)() PURE;
    STDMETHOD_(DWORD, GetHitCount)() PURE;
};

HRESULT __stdcall CreateBreakpoint( IBreakpoint **ppOut );

extern "C" const IID IID_IBreakpoint;

// {8A5C1835-BAAD-4C40-9DE0-C72BDB151E36}
DEFINE_GUID(IID_IBreakpoint, 
    0x8A5C1835, 0xBAAD, 0x4C40, 0x9D, 0xE0, 0xC7, 0x2B, 0xDB, 0x15, 0x1E, 0x36);

